<?php
// 截取字符函数
function csubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
{
       if(function_exists("mb_substr"))
       {
               if(mb_strlen($str, $charset) <= $length) return $str;
               $slice = mb_substr($str, $start, $length, $charset);
       }
       else
       {
               $re['utf-8']   = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
               $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
               $re['gbk']          = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
               $re['big5']          = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
               preg_match_all($re[$charset], $str, $match);
               if(count($match[0]) <= $length) return $str;
               $slice = join("",array_slice($match[0], $start, $length));
       }
       if($suffix) return $slice."..";
       return $slice;
}

// 获取访问ip
function getIP() { 
	if (! empty ( $_SERVER ["HTTP_CLIENT_IP"] )) { 
		$cip = $_SERVER ["HTTP_CLIENT_IP"]; 
	} else if (! empty ( $_SERVER ["HTTP_X_FORWARDED_FOR"] )) { 
		$cip = $_SERVER ["HTTP_X_FORWARDED_FOR"]; 
	} else if (! empty ( $_SERVER ["REMOTE_ADDR"] )) { 
		$cip = $_SERVER ["REMOTE_ADDR"]; 
	} else { 
		$cip = ''; 
	} 
	preg_match ( "/[\d\.]{7,15}/", $cip, $cips ); 
	$cip = isset ( $cips [0] ) ? $cips [0] : 'unknown'; 
	unset ( $cips ); 
	return $cip; 
} 
?>